package cc.rengu.igas.momp.common.dao;

import cc.rengu.igas.momp.common.entity.TMMcProductInfo;

import java.util.List;

/**
 * 营销活动支付产品规则数据库操作接口定义
 *
 * @author Jinan Liu
 * @version 1.0.0
 * @date 2020/3/26 00:11
 */
public interface McProductInfoMapper {

    /**
     * 营销活动支付产品规则列表查询数据库操作接口定义
     *
     * @param instId 法人机构号
     * @param mcNo   营销活动编号
     * @return java.util.List<cc.rengu.igas.momp.common.entity.TMMcProductInfo>
     * @throws Exception 异常信息
     * @author Jinan Liu
     * @date 2020/3/28 18:58
     */
    List<TMMcProductInfo> selectMcProductInfoList(String instId, String mcNo) throws Exception;

    /**
     * 营销活动支付产品规则列表新增数据库操作接口定义
     *
     * @param mcProductInfoList 营销活动产品信息表
     * @return int 返回码
     * @throws Exception 异常信息
     * @author Jinan Liu
     * @date 2020/4/1 22:05
     */
    int insertMcProductInfoListByBank(List<TMMcProductInfo> mcProductInfoList) throws Exception;

    /**
     * 营销活动支付产品规则列表修改数据库操作接口定义
     *
     * @param mcProductInfoList
     * @return int 返回码
     * @throws Exception 异常信息
     * @author Jinan Liu
     * @date 2020/4/1 22:05
     */
    int updateMcProductInfoListByBank(List<TMMcProductInfo> mcProductInfoList) throws Exception;

    /**
     * 营销活动支付产品规则列表删除数据库操作接口定义
     *
     * @param instId 法人机构号
     * @param mcNo   营销活动编号
     * @return int 返回码
     * @throws Exception 异常信息
     * @author Jinan Liu
     * @date 2020/4/1 22:05
     */
    int deleteMcProductInfoListByBank(String instId, String mcNo) throws Exception;

    /**
     * 新增单条营销活动支付产品信息数据库操作接口定义
     *
     * @param instId        法人机构号
     * @param mcProductInfo
     * @return int
     * @throws Exception 异常信息
     * @author Jinan Liu
     * @date 2020/4/1 23:57
     */
    int insertMcProductInfo(String instId, TMMcProductInfo mcProductInfo) throws Exception;

    /**
     * 更新单条营销活动支付产品信息数据库操作接口定义
     *
     * @param instId        法人机构号
     * @param mcProductInfo
     * @return int
     * @throws Exception 异常信息
     * @author Jinan Liu
     * @date 2020/4/1 23:57
     */
    int updateMcProductInfo(String instId, TMMcProductInfo mcProductInfo) throws Exception;

    /**
     * 使用主键删除单条营销活动支付产品信息数据库操作接口定义
     *
     * @param instId      法人机构号
     * @param mcNo        营销活动编号
     * @param bizProdCode
     * @return int
     * @throws Exception 异常信息
     * @author Jinan Liu
     * @date 2020/4/1 23:57
     */
    int deleteMcProductInfoByPrimaryKey(String instId, String mcNo, String bizProdCode) throws Exception;

    /**
     * 使用主键查询单条营销活动支付产品信息数据库操作接口定义
     *
     * @param instId      法人机构号
     * @param mcNo        营销活动编号
     * @param bizProdCode 营销产品代码
     * @return cc.rengu.igas.momp.common.entity.TMMcProductInfo 营销活动产品信息表
     * @throws Exception 异常信息
     * @author Jinan Liu
     * @date 2020/4/21 10:30
     */
    TMMcProductInfo selectMcProductInfoByPrimaryKey(String instId, String mcNo, String bizProdCode) throws Exception;

}
